希望瀏覽數可以多點啦,更多人看我的教學後有所增長
TensorFlow是Google開發的開源機器學習框架。它提供了一個由工具、函式庫和資源組成的全面系統,用於建立和部署機器學習模型。TensorFlow支援廣泛的任務,包括深度學習、神經網路和數值計算。
Keras API是TensorFlow 的官方進階 API。
pip install tensorflow
import tensorflow.keras as keras
import tensorflow as tf
print("TensorFlow version:", tf.__version__)
執行結果:
TensorFlow version: 2.13.0
np.float64
和np.float32
1.np.float64
:它使用64位來表示數字,包括符號位、11位指數和52位小數。
2.
2.np.float32
:包括符號位、一個8位指數和一個23位小數。
為避免有觀看的小夥子不明白以下程式碼的運作,這裏先來一些簡介,這裏大概就是讓人工智能自己尋找規律來計算下列的方程式。
Y=3X+1
程式碼:
import tensorflow as tf
import numpy as np
from tensorflow import keras
model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])
model.compile(optimizer='sgd', loss='mean_squared_error')
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
ys = np.array([-2.0, 1.0, 4.0, 7.0, 10.0, 13.0], dtype=float)
model.fit(xs, ys, epochs=500)
print(model.predict([10.0]))
執行結果:
[[30.9945]]
它不能知道只有六個數據點。結果非常接近 31,但不一定就是 31。
使用類神經網路時,你會發現這種模式會不斷出現。您幾乎可以處理各種能力,而非不確定性,而且只要進行一些程式設計,即可根據結果瞭解結果。
input_shape
input_shape
是深度學習框架(例如 TensorFlow 和 Keras)中常用的參數,用於定義機器學習模型的輸入資料的形狀。它指定輸入模型的輸入資料的維度或形狀。
(28, 28, 1)
。tf.keras.Sequential
tf.keras.Sequential是TensorFlow Keras API 中的一個類,用於建立順序模型(Sequential Model)。
model.compile
model.compile
是 TensorFlow Keras API 中用於配置模型訓練參數的方法。它接受一些重要的參數,例如優化器、損失函數和評估指標,以及其他可選參數,總之就是用來優化你的模型,之後可能會再傾詳細的講解。
optimizer
最佳化器:用於指定模型的最佳化演算法。常見的最佳化器包括'adam'、'sgd'、'rmsprop'等。
優化你的模型
loss
損失函數:用於快速模型預測結果與真實值之間的差異或誤差。
優化你的模型
model.fit
model.fit是用於訓練模型的方法,輸入數據和目標數據來訓練數據。
epochs
機器學習中的epochs
是指整個資料集在訓練過程中通過模型的次數,影響模型參數的最佳化。epochs
數量取決於問題的複雜度、資料集的大小以及模型訓練的因素。簡單的來說就是複雜的模型需要的數值就是越高,來進行更多訓練,取得更準確的答案。
model.predict
model.predict
是用來使用訓練好的模型進行預測的方法。
這裏有另外一個例子,之前介紹的matplotlib有介紹到一個線性規律,這裏就是利用人工智能觀察規律,並估算一個新的串例。
程式碼:
import tensorflow as tf
import numpy as np
# Input data
x_train = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype=np.float32)
y_train = np.array([3, 5, 7, 9, 11, 13, 15, 17, 19, 21], dtype=np.float32)
# Define the model
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=[1])
])
# Compile the model
model.compile(optimizer='sgd', loss='mean_squared_error')
# Train the model
model.fit(x_train, y_train, epochs=200)
# Predict
x_test = np.array([11, 12, 13, 14, 15], dtype=np.float32)
y_pred = model.predict(x_test)
print(y_pred.flatten())
執行結果:
[23.185764 25.231766 27.277767 29.32377 31.369772]
這裏便不多作介紹,如果不懂可以嘗試反覆理解我上面寫的內容。
今天的有趣內容到這裏,如果覺得我的文章對你有幫助或有更好的建議,可以追蹤我和不妨在留言區提出,我們明天再見。
reference:
https://www.tensorflow.org/api_docs/python/tf/keras/Model
https://poe.com